package com.tn.service.basic;

import com.tn.controller.alarm.common.model.PageInput;
import com.tn.controller.alarm.common.model.PageResult;
import com.tn.controller.alarm.common.model.basic.vo.KeyBasicDataVO;
import com.tn.controller.alarm.common.model.basic.vo.KeyBasicQueryVO;
import com.tn.exception.DatabaseOperationFailedException;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @description: 该方法功能 TODO
 * @packageName: com.tn.service.basic$
 * @author: Zhangfeng
 * @createTime: 2023-04-06
 * @version: V1.0.0
 */

public interface IBasicDataService {


    /**
     * 添加摄像头
     *
     * @param basicDataVO 摄像头信息
     * @throws DatabaseOperationFailedException 数据库异常
     */
    int addBasicData(KeyBasicDataVO basicDataVO) throws DatabaseOperationFailedException;

    /**
     * 删除摄像头
     *
     * @param basicDataVO 摄像头信息
     * @throws DatabaseOperationFailedException 数据库异常
     */
    void deleteBasicData(KeyBasicDataVO basicDataVO) throws DatabaseOperationFailedException;

    /**
     * 修改摄像头信息
     *
     * @param basicDataVO 摄像头信息
     * @throws DatabaseOperationFailedException 数据库异常
     */
    int modifyBasicData(KeyBasicDataVO basicDataVO) throws DatabaseOperationFailedException;

    /**
     * 查询摄像头信息
     *
     * @param basicDataVO 分页查询条件
     * @return 摄像头信息
     */
    List<KeyBasicDataVO> queryList(KeyBasicDataVO basicDataVO);

    //String importExcel(MultipartFile multipartFile,String kind);


    PageResult<KeyBasicDataVO> queryBasicInfo(PageInput<KeyBasicQueryVO> alarmPageQuery);


    KeyBasicDataVO queryBasicDataByKey(String keyCode);

}
